using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CardReward")]
	public class CardReward : Reward
	{
		public GameObject m_nonHeroCardsRoot => method_3<GameObject>("m_nonHeroCardsRoot");

		public GameObject m_heroCardRoot => method_3<GameObject>("m_heroCardRoot");

		public GameObject m_cardParent => method_3<GameObject>("m_cardParent");

		public GameObject m_duplicateCardParent => method_3<GameObject>("m_duplicateCardParent");

		public CardRewardCount m_cardCount => method_3<CardRewardCount>("m_cardCount");

		public bool m_showCardCount => method_2<bool>("m_showCardCount");

		public bool m_RotateIn => method_2<bool>("m_RotateIn");

		public List<Actor> m_actors => method_3<Class271<Actor>>("m_actors")?.method_25();

		public GameObject m_goToRotate => method_3<GameObject>("m_goToRotate");

		public CardSoundSpell m_emote => method_3<CardSoundSpell>("m_emote");

		public CardReward(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CardReward(IntPtr address)
			: this(address, "CardReward")
		{
		}

		public void MakeActorsUnlit()
		{
			method_8("MakeActorsUnlit");
		}

		public new void InitData()
		{
			method_8("InitData");
		}

		public new void OnDataSet(bool updateVisuals)
		{
			method_8("OnDataSet", updateVisuals);
		}

		public new void ShowReward(bool updateCacheValues)
		{
			method_8("ShowReward", updateCacheValues);
		}

		public new void HideReward()
		{
			method_8("HideReward");
		}

		public void OnCardDefLoaded(string cardID, CardDef cardDef, object callbackData)
		{
			method_8("OnCardDefLoaded", cardID, cardDef, callbackData);
		}

		public void OnStartEmoteLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnStartEmoteLoaded", assetRef, go, callbackData);
		}

		public void PlayHeroEmote()
		{
			method_8("PlayHeroEmote");
		}

		public void OnHeroActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnHeroActorLoaded", assetRef, go, callbackData);
		}

		public void OnActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnActorLoaded", assetRef, go, callbackData);
		}

		public void StartSettingUpNonHeroActor(Actor actor, EntityDef entityDef, Transform parentTransform)
		{
			method_8("StartSettingUpNonHeroActor", actor, entityDef, parentTransform);
		}

		public void FinishSettingUpActor(Actor actor, CardDef cardDef)
		{
			method_8("FinishSettingUpActor", actor, cardDef);
		}

		public void SetupHeroAchieves()
		{
			method_8("SetupHeroAchieves");
		}

		public void SetUpGoldenHeroAchieves()
		{
			method_8("SetUpGoldenHeroAchieves");
		}

		public void InitRewardText()
		{
			method_8("InitRewardText");
		}
	}
}
